<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>Microsoft Windows 下的 Apache 2.x</title>

 </head>
 <body><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="install.windows.apache1.html">Microsoft Windows 下的 Apache 1.3.x</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="install.windows.sun.html">Microsoft Windows 下的 Sun，iPlanet 和 Netscape 服务器</a></div>
 <div class="up"><a href="install.windows.html">Windows 系统下的安装</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div><hr /><div id="install.windows.apache2" class="sect1">
 <h2 class="title">Microsoft Windows 下的 Apache 2.x</h2>
 <p class="para">
  本节包括在 Microsoft Windows 系统中针对 Apache 2.x 安装 PHP 的指导与说明。在其它页面也有 
  <a href="install.windows.apache1.html" class="link">Apache 1.3.x 用户指导与说明</a>。
 </p>
 <blockquote class="note"><p><strong class="note">Note</strong>: 
  <p class="para">
   应该先阅读<a href="install.windows.manual.html" class="link">手工安装步骤</a>！
  </p>
 </p></blockquote>
 
 <blockquote class="note"><p><strong class="note">Note</strong>: 
  <strong>Apache 2.2 支持</strong><br />
  <p class="para">
   Apache 2.2 用户应留意对于 Apache 2.2 的 DLL 文件名是
   <var class="filename">php5apache2_2.dll</var> 而不是
   <var class="filename">php5apache2.dll</var>，并且只在 PHP 5.2.0
   以及更高版本中出现。参见 <a href="http://snaps.php.net/" class="link external">&raquo;&nbsp;http://snaps.php.net/</a>。
  </p>
 </p></blockquote>
 
 <p class="para">
  强烈建议阅读 <a href="http://httpd.apache.org/docs/current/" class="link external">&raquo;&nbsp;Apache 文档</a>来加深对
  Apache 2.x 服务器的基本理解。此外在继续下去之前考虑先阅读一下 Apache 2.x 的 
  <a href="http://httpd.apache.org/docs/current/platform/windows.html" class="link external">&raquo;&nbsp;Windows 下使用说明</a>。
 </p>
 
 <p class="para">
  Apache 2.x 被设计运行于 Windows 版的服务器平台下，例如 Windows NT 4.0，Windows
  2000，Windows XP 或 Windows 7。虽然 Apache 2.x 可以在 Windows 9x
  下勉强运行，但对此平台的支持尚未完成，某些功能无法正确工作。对此并无补救计划。
 </p>
 
 <p class="para">
  下载最新版本的 <a href="http://httpd.apache.org/" class="link external">&raquo;&nbsp;Apache 2.x</a>
  以及适合的 PHP 版本。先完成<a href="install.windows.manual.html" class="link">手工安装步骤</a>后再回来继续将
  PHP 集成入 Apache。
 </p>
 
 <p class="para">
  Windows 下有三种方法使 PHP 工作于 Apache 2.x 之中。可以以 handler，CGI，或者 FastCGI 方式运行 PHP。
 </p>
 
 <blockquote class="note"><p><strong class="note">Note</strong>: <span class="simpara">记住当在
Windows 环境下的 Apache 配置文件中添加路径值时，所有的反斜线，如
<var class="filename">c:\directory\file.ext</var>，应转换为正斜线：
<var class="filename">c:/directory/file.ext</var>。对目录来说，也必须由斜线结尾。</span></p></blockquote>
 
 <div class="sect2" id="install.windows.apache2.module">
  <h3 class="title">以 Apache handler 方式安装</h3>
  <p class="para">
   需要将以下几行加入到 Apache 的 <var class="filename">httpd.conf</var> 配置文件中以加载 Apache 2.x 的 PHP 模块：
   <div class="example" id="example-53">
    <p><strong>Example #1 PHP 在 Apache 2.x 中作为 handler</strong></p>
    <div class="example-contents">
<div class="apache-confcode"><pre class="apache-confcode"># 
LoadModule php5_module &quot;c:/php/php5apache2.dll&quot;
AddHandler application/x-httpd-php .php

# 配置 php.ini 的路径
PHPIniDir &quot;C:/php&quot;</pre>
</div>
    </div>

   </div>
  </p>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <span class="simpara">
    记得用自己 PHP 实际所在的路径替换掉上例中的 
    <var class="filename">c:/php/</var>。要留意在 LoadModule 指令中使用了
    <var class="filename">php5apache2.dll</var> 或者
    <var class="filename">php5apache2_2.dll</var>，并且该文件确实位于所指定的位置。
   </span>
  </p></blockquote>
  <p class="para">
   以上配置将使 PHP 处理任何具有 .php 后缀的文件，即使该文件还有其它的文件后缀。例如一个名为
   <var class="filename">example.php.txt</var> 的文件将被作为 PHP 文件运行。要确保只有以
   <var class="filename">.php</var> <em class="emphasis">结尾</em>的文件才被执行，则用以下配置替换上面的：
  </p>
  
  <div class="example" id="example-54">
   <div class="example-contents">
<div class="apache-confcode"><pre class="apache-confcode">&lt;FilesMatch \.php$&gt;
      SetHandler application/x-httpd-php
 &lt;/FilesMatch&gt;</pre>
</div>
   </div>

  </div>
 </div>
 
 <div class="sect2" id="install.windows.apache2.cgi">
  <h3 class="title">以 CGI 方式运行 PHP</h3>
  <p class="para">
   要更好地理解在 Apache 下运行 CGI，请参阅
   <a href="http://httpd.apache.org/docs/current/howto/cgi.html" class="link external">&raquo;&nbsp;Apache CGI 文档</a>。
  </p>
  <p class="para">
   要将 PHP 以 CGI 方式运行，需要将 php-cgi 文件放入到用
   ScriptAlias 指令所指定的 CGI 目录中。
  </p>
  <p class="para">
   然后需要给 PHP 文件中添加一 #! 的行来指明 PHP 可执行文件的位置：
   <div class="example" id="example-55">
    <p><strong>Example #2 Apache 2.x 下 CGI 方式的 PHP</strong></p>
    <div class="example-contents">
<div class="cdata"><pre>
#!C:/php/php.exe
&lt;?php
  phpinfo();
?&gt;
</pre></div>
    </div>

   </div>
  </p>
  <div class="warning"><strong class="warning">Warning</strong><p class="para">服务器使用 CGI 方式进行部署可能存在几个公开的缺陷。请阅读
<a href="security.cgi-bin.html" class="link">CGI 安全</a>一章 以学习 如何抵御这些攻击。</p></div>
 </div>
 
 <div class="sect2" id="install.windows.apache2.fastcgi">
  <h3 class="title">以 FastCGI 方式运行 PHP</h3>
  
  <p class="para">
   以 FastCGI 方式运行 PHP 比起 CGI 方式有很多优点。设定的方式很直接：
  </p>
  <p class="para">
   从 <a href="http://httpd.apache.org/mod_fcgid/" class="link external">&raquo;&nbsp;http://httpd.apache.org/mod_fcgid/</a>
   取得 mod_fcgid，该站点有 Win32 可执行文件的下载。按照下载文件中的指示安装此模块。
  </p>
  <p class="para">
   按以下方法配置 web 服务器，注意用自己系统上的路径替换其中相应的内容：
   
   <div class="example" id="example-56">
    <p><strong>Example #3 配置 Apache 以 FastCGI 方式运行 PHP</strong></p>
    <div class="example-contents">
<div class="cdata"><pre>
LoadModule fcgid_module modules/mod_fcgid.so  

# Where is your php.ini file?
FcgidInitialEnv PHPRC        &quot;c:/php&quot; 

AddHandler fcgid-script .php  
FcgidWrapper &quot;c:/php/php-cgi.exe&quot; .php  
</pre></div>
   </div>

   </div>
   此时具有 .php 后缀的文件将被 PHP FastCGI 所解析执行。
  </p>
  
 </div>
 
</div><hr /><div class="manualnavbar" style="text-align: center;">
 <div class="prev" style="text-align: left; float: left;"><a href="install.windows.apache1.html">Microsoft Windows 下的 Apache 1.3.x</a></div>
 <div class="next" style="text-align: right; float: right;"><a href="install.windows.sun.html">Microsoft Windows 下的 Sun，iPlanet 和 Netscape 服务器</a></div>
 <div class="up"><a href="install.windows.html">Windows 系统下的安装</a></div>
 <div class="home"><a href="index.html">PHP Manual</a></div>
</div></body></html>
